package db

import (
	"fmt"

	"go-todo-app/model" // 替换成你的模块路径

	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

var DB *gorm.DB // 全局 DB 变量

// InitGORM 初始化 GORM 连接 SQLite
func InitGORM(dbPath string) error {
	var err error
	// 连接 SQLite（文件不存在会自动创建）
	DB, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{})
	// dsn := "root:root@tcp(127.0.0.1:3306)/todoapp?charset=utf8mb4&parseTime=True&loc=Local"
	// DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		return fmt.Errorf("无法连接数据库: %v", err)
	}

	// 自动迁移：根据 model.Todo 结构体创建/更新表结构
	err = DB.AutoMigrate(&model.Todo{})
	if err != nil {
		return fmt.Errorf("迁移表结构失败: %v", err)
	}

	fmt.Println("SQLite + GORM 初始化成功")
	// fmt.Println("MySQL + GORM 初始化成功")
	return nil
}
